#include<stdio.h>
#include<unistd.h>
int g_val = 100;
int main()
{
  printf("father is running,pid:%d,ppid:%d\n",getpid(),getppid());
  pid_t id = fork();
  if(id == 0)
  {
    // child
    int cnt = 0;
    while(1)
    {
      printf("I am child process,pid:%d,ppid:%d,g_val:%d,&g_val:%p\n",getpid(),getppid(),g_val,&g_val);
      sleep(1);
      cnt++;
      if(cnt == 3)
      {
        g_val = 300;
        printf("I am child process,change %d -> %d\n",100,300);
      }
    }
  }
  else
  {
    // father
    while(1)
    {
      printf("I am father process,pid:%d,ppid:%d,g_val:%d,&g_val:%p\n",getpid(),getppid(),g_val,&g_val);
      sleep(1);
    }
  }
  return 0;
}
